我有一个lib /src/lib.rs.我想准备用GDB进行调试.
rustc -g --crate-type lib libr.rs
Run Code Online (Sandbox Code Playgroud)
是搜索的方式告诉我如何做到这一点.输出文件具有以下名称liblib.rlib
现在运行GDB - 执行file lib.rs告诉我它不是可执行格式,与奇怪的文件相同liblib.rlib.我知道它不是可执行文件 - 但我也不知道我可以启动的任何替代文件.
那么我现在如何开始在Rust中调试lib呢?
这就是我的代码的样子。我试图在我的ShapeRenderer结构中使用一个隐含的结构并使用它的方法。
形状.rs:
use super::core::*;
pub struct ShapeRenderer<'a> {
core_renderer: &'a mut CanvasRenderer,
}
Run Code Online (Sandbox Code Playgroud)
核心文件
pub struct Canvas {
pub width: usize,
pub height: usize,
pub array: Vec<char>,
}
pub struct Point {
pub x: usize,
pub y: usize,
}
pub struct CanvasRenderer<'a> {
canvas: &'a mut Canvas,
}
impl<'a> CanvasRenderer<'a> {
pub fn new(canvas: &'a mut Canvas) -> CanvasRenderer {
CanvasRenderer { canvas: canvas }
}
}
Run Code Online (Sandbox Code Playgroud)
错误
use super::core::*;
pub struct ShapeRenderer<'a> {
core_renderer: &'a mut CanvasRenderer, …Run Code Online (Sandbox Code Playgroud) Villager我有一个组件,它prop从父组件接收一个数组。父组件从 中提取该数组this.$store.state。
return this.$store.state.villages.find(value => value.id === 0).villagers
Run Code Online (Sandbox Code Playgroud)
之后我执行this.$store.mutation提交来更改给定的数组。正如您在下面的屏幕截图中看到的那样,突变确实有效。然而,我所在的组件没有重新渲染,并且仍然显示 3 个而不是 2 个项目。
反应链似乎在某个地方被破坏了,但我无法确定到底是哪个恶魔。我认为props价值是一种反应机制。正如您在屏幕截图中看到的,它的值已更改,但 DOM 并未相应更新。
我尝试提取问题的相关部分
商店/index.ts
[...]
export default new Vuex.Store({
state: {
villages: [
{
id: 0,
name: 'Peniuli',
foundingDate: 20,
villagers: [
{
id: '33b07765-0ec6-4600-aeb1-43187c362c5a1',
name: 'Baltasar',
bloodline: 'Gent',
occupation: 'Farmer'
},
[...]
mutations: {
disbandVillager (state, payload) {
const villagerId = payload.id
const village = state.villages.find(value => value.id === 0)
console.debug('disbanding villager:', villagerId)
if (!_.isNil(village)) …Run Code Online (Sandbox Code Playgroud) 我设法让 Auth0 对我的 Vue.js 应用程序有些作用。快速入门指南很简单。所以发生的事情是我设法使用了登录功能并被提示使用 Auth0 登录对话框。我使用我的 google 帐户进行了快速登录。这也奏效了。我的 google 帐户现在在我的 Auth0 仪表板中显示为新用户。
然而,登录后我返回到我的 Vue.js 应用程序,但授权似乎没有成功。
网络选项卡告诉我以下内容:
{"error":"access_denied","error_description":"Unauthorized"}
Run Code Online (Sandbox Code Playgroud)
我想知道在用户被视为“授权”之前我是否必须给他一些角色或权限?我的印象是默认情况下这将是正确的,并且只有在我开始在 Auth0 仪表板中定义角色时才会受到限制。
请赐教!
PS:我在处理 SPA 时正在使用 Auth0 提供的非隐式登录对话框。我读到可能会引起麻烦?
以及“失败交换”日志的原始数据:
{
"date": "2020-08-24T10:43:52.005Z",
"type": "feacft",
"description": "Unauthorized",
"connection_id": "",
"client_id": "<Client_ID>",
"client_name": null,
"ip": "85.197.56.111",
"user_agent": "Chrome 83.0.4103 / Linux 0.0.0",
"details": {
"code": "*************T8a"
},
"hostname": "alemanni-game.eu.auth0.com",
"user_id": "",
"user_name": "",
"log_id": "90020200824104353383000015217913666506642073534760747026",
"_id": "90020200824104353383000015217913666506642073534760747026",
"isMobile": false
}
Run Code Online (Sandbox Code Playgroud) 我有一个现有的映射,其中包含简单的整数值。我想通过包含可能的键之一的给定映射的值来更新现有映射。
val originMap = mutableMapOf("Foo" to 10, "Bar" to 5)
val additionalMap = mapOf("Foo" to 4)
// questioned logic
assertThat(originMap).containsEntry("Foo", 14)
Run Code Online (Sandbox Code Playgroud) 我使用 Figma 提供的布局元素的 CSS 粗略地设计了我的 web 应用程序布局 Figma。我正在运行 Vue.js 2 SPA,现在想要第一次将 html/css 设计转换为 Vue.js 组件。我做得很简单,因为我可以了解 CSS 等所有内容。
使用 BEM CSS 约定(这对我保持概览很有帮助),我将所有 Figma 的 CSS 元素放入 Vue 组件的 CSS 类中。然后我div为每个(BEM)块创建了几个。
示例.vue
<template>
<v-container fluid>
<div class="storage__header"></div>
<div class="storage__header-text">Storage</div>
<div class="storage__table-body"></div>
<div class="storage__table-header"></div>
<div class="storage__table-header-type">Type</div>
<div class="storage__table-header-amount">Amount</div>
</v-container>
</template>
<script>
export default {
name: 'SettlementStorage',
}
</script>
<style>
.storage__header-text {
position: absolute;
width: 166px;
height: 35.04px;
left: 3px;
top: 258px;
font-family: Aref Ruqaa,monospace;
font-style: normal;
font-weight: normal;
font-size: 35px; …Run Code Online (Sandbox Code Playgroud) 有一种方法public Content createChild(String path, String contentType, Map<String,Object> properties)我想嘲笑.
我想以这种方式模拟它,使用任何类型的参数调用该方法,因此when()无法工作,因为我必须告诉它该方法应该接收哪些参数才能实际模拟.
所以我想实际上对任何方法调用做出反应,独立于其给定的参数(使用间谍?),然后调用某种"回调"来返回一个Content对象,我想要从该方法的真实参数中一起构建.
我在Mockito中找不到支持此功能的特定API.
我有一个用AnnotationProcessor处理的类。在此过程中,我有一个实例,javax.lang.model.element.Element可以在该实例中通过来获取带注释的类的名称.getSimpleName()。我知道需要的是带注释的类的packageName(com.software.cool)。
知道如何通过API来接收它吗?
我尝试为 GraphQL Java 添加自定义标量类型。我需要它来解析 Map 而不为它创建类型,因为它是我逻辑中的常见返回类型。
我按照说明(这里:http : //graphql-java.readthedocs.io/en/latest/scalars.html)创建了一个标量类型。
这是我的 MapScalar.java
public class MapScalar {
private static final Logger LOG = LoggerFactory.getLogger(MapScalar.class);
public static final GraphQLScalarType MAP = new GraphQLScalarType("Map", "A custom map scalar type", new Coercing() {
@Override
public Object serialize(Object dataFetcherResult) throws CoercingSerializeException {
Map map = null;
try {
map = Map.class.cast(dataFetcherResult);
} catch (ClassCastException exception) {
throw new CoercingSerializeException("Could not convert " + dataFetcherResult + " into a Map", exception);
}
return …Run Code Online (Sandbox Code Playgroud) 我为我的 Teamcity 管道创建了一个新版本。我第一次使用 Docker buildstep。在我设置好一切之后,我意识到构建代理似乎还没有准备好。
我知道我的代理似乎还没有准备好使用 docker 进行构建,但实际上没有人告诉我如何做到这一点。我阅读了官方指南,但没有说明如何将 docker 实际安装到我的代理中(如果这是解决问题的方法)。
有人可以告诉我我必须做什么才能让它工作吗?
编辑
@Senior Pomidor 帮助我更近了一步。我在 docker run 命令中添加了他的第一个例子
docker run -it -e SERVER_URL="<url to TeamCity server>" \
--privileged -e DOCKER_IN_DOCKER=start \
jetbrains/teamcity-agent
Run Code Online (Sandbox Code Playgroud)
这样做之后,我摆脱了屏幕截图中提到的消息。我的代理配置现在具有以下内容:
docker.server.osType linux
docker.server.version 18.06.1
docker.version 18.06.1
Run Code Online (Sandbox Code Playgroud)
但Teamcity 仍然抱怨这条消息:
这让我再次无能为力。
最终解决方案:只需重新启动 teamcity 服务器实例即可解决即将出现的 EDIT2 问题。代理实际上能够运行构建,但 teamcity 无法在不重新启动的情况下意识到这一点。
编辑2
索取资料:
我的 CI 服务器操作系统:
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
Run Code Online (Sandbox Code Playgroud)
运行容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f8e0b04d6a6 jetbrains/teamcity-agent "/run-services.sh" 19 …Run Code Online (Sandbox Code Playgroud) java ×4
javascript ×2
rust ×2
vue.js ×2
annotations ×1
auth0 ×1
build ×1
css ×1
debugging ×1
dictionary ×1
docker ×1
figma ×1
gdb ×1
graphql ×1
graphql-java ×1
kotlin ×1
lifetime ×1
mockito ×1
spy ×1
struct ×1
teamcity ×1
unit-testing ×1
vuex ×1